package com.xf.auth.configure;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Map;

/**
 * 微信小程序配置
 * 从数据库读取多个
 * @author xufeng
 */
@Configuration
public class WechatWeappConfig {

    @Value("${wechat.weapp.appid}")
    private String appid;

    @Value("${wechat.weapp.secret}")
    private String secret;

    private static Map<String, WxMaService> maServices;

    @Bean
    public WxMaConfig wxMaConfig() {
        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
        config.setAppid(appid);
        config.setSecret(secret);
        return config;


    }
//    @Bean
//    public static WxMaService getMaService(String appi) {
//
//        WxMaService wxService = maServices.get(appi);
//        if (wxService == null) {
//            throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置，请核实！", appi));
//        }
//
//        return wxService;
//    }



    @Bean
    public WxMaService wxMaService(WxMaConfig wxMaConfig) {
        WxMaService service = new WxMaServiceImpl();
        service.setWxMaConfig(wxMaConfig);
        return service;
    }
}
